package com.ant.backstage.utils.validation.inter;


import com.ant.backstage.utils.validation.impl.CheckPhoneValidation;
import org.springframework.context.annotation.Import;

import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.*;

@Target({ ElementType.FIELD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Constraint(validatedBy = {CheckPhoneValidation.class})
@Import({CheckPhone.class})
public @interface CheckPhone {
    String massage() default "手机号格式错误";

    Class<?>[] group() default {};

    Class<? extends Payload>[] payload() default {};

    /**
    source：注解只保留在源文件，当Java文件编译成class文件的时候，注解被遗弃；被编译器忽略
     *
     * class：注解被保留到class文件，但jvm加载class文件时候被遗弃，这是默认的生命周期
     *
     * runtime：注解不仅被保存到class文件中，jvm加载class文件之后，仍然存在
     **/
}


